﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using Vibz.Common.Notification;
using Vibz.Common.Model;

namespace Vibz.Game.Bugs.Model
{
    public enum ReflectAxis { X, Y }
    public enum MoveDirection { NA, Up = 1, UpRight = 2, Right = 3, DownRight = 4, Down = 5, DownLeft = 6, Left = 7, UpLeft = 8 }
    public class Orientation : ModelObject
    {
        Rectangle _Rectangle;
        public Rectangle Rectangle
        {
            get { return _Rectangle; }
            set
            {
                _Rectangle = value; 
                // No Notify
                // NotifyValueChanged("Rectangle", value);
            }
        }

        MoveDirection _Direction;
        public MoveDirection Direction
        {
            get { return _Direction; }
            set
            {
                if (_Direction == MoveDirection.NA || _Direction == value)
                    return;
                _Direction = value; 
                NotifyValueChanged("Direction", value);
            }
        }
        
        public Orientation() { }
        public Orientation(ModelObject owner, Rectangle rect, MoveDirection dir)
        { Owner = owner; Rectangle = rect; Direction = dir; }
    }
}
